parser grammar XMLParser;

options {
  language = Java;
  tokenVocab = XMLLexer;
  output = AST;
  ASTLabelType = MiArbol;
}

tokens {
    LISTA_INST;
}

@header {
package PL.prac10;
}

entrada : bloque EOF -> ^(LISTA_INST (bloque)*);
bloque : etiquetaa linea etiquetac;
linea : (PALABRA|atrib|bloque)*;
atrib : PALABRA IGUAL^ CADENA ;
etiquetaa : MENOR! PALABRA^ atrib? MAYOR!;
etiquetac : MENOR! BARRA! PALABRA^ MAYOR!;